[金融] 再谈Black-Litterman模型

这是一篇关于投资组合优化的跟踪观察

Posted by Leung ZhengHua on 2018-01-20

本文总点击量

既然已经过了一遍马可威茨的均值方差模型,那么就可以继续接着再谈一遍Black-Litterman模型了。

前面说到利用历史数据去估计期望收益率向量$E(R)$和协方差阵$\hat{\Sigma}$。这种利用历史数据对金融资产做估计是备受诟病的,因为没有用到当前的信息;并且随着资产个数的增加,协方差阵的维度也增加,估计的参数越来越多,由此估计的协方差阵是不稳健的,进一步地,由此计算的投资组合效果往往不好。

1992年,在高盛(Golden Sachs)工作的 Fischer 和 Robert Litterman 对全球债券投资组合研究时发现,当对德国债券预期收益率做0.1%的修正后,该类资产的投资比例竟然由原来的10%提高至55%。这个发现得出了马可威茨模型的另一个重大缺陷,资产组合的最优权重对输入参数过于敏感。

Black-Litterman模型的核心思想是,将投资者对大类资产的观点(主观观点)与市场均衡收益(先验预期收益率,用样本均值估计),从而形成新的预期收益率(后验预期收益率)。

详细模型可以参见-《Multi-style rotation strategies using augmented Black Litterman factor model》

至于什么是观点矩阵,之前我一直把它当成了投资者对一个投资组合的收益率看法,这样理解也不能说是错的,但是我找到了更贴切的理解。

比如现在市场上有4种资产A,B,C,D,投资者根据自己的经验和分析,形成以下判断:

  • 资产A的收益率为15%,信心水平为80%

  • 资产B比资产D的收益高5%,信心水平为75

  • 资产B和C比资产A高6%,信心水平为90%

据此,可以写出反映投资人主观观点的矩阵

看法的收益向量因此可以写为

信心水平向量可以写为

信心水平向量也属于随机变量,它的协方差矩阵即为$\Omega $。

R语言实现

这里使用BLCOP包,详见官方文档,步骤如下:

  • 使用历史数据估计收益率的协方差阵
  • 确定先验预期收益率,也可以理解为市场预期的收益率向量
  • 融合投资者的个人观点,即确定$P,Q,\Omega$,在BLCOP包中,可以使用BLview()函数构造观点
1
BLViews(P, q, confidences, assetNames)
  • 修正后验收益
1
posteriorEst(views, mu, tau = 0.5, sigma, kappa = 0)
  • 投资组合优化
1
2
3
optimalPortfolios.fPort(result, spec = NULL, constraints = "LongOnly",
optimizer = "minriskPortfolio", inputData = NULL,
numSimulations = BLCOPOptions("numSimulations"))

其中,result是BLResult对象,constraints可以确定是否有卖空机制,optimizer表示有效资产组合的类型,optimizer = “minriskPortfolio”表示全局最小方差投资组合。